<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui">

    <f:view contentType="text/html">
        <h:head>
            <f:facet name="first">
                <meta content='text/html; charset=UTF-8' http-equiv="Content-Type"/>
                <title>Clientes</title>
            </f:facet>
        </h:head>

        <h:body>

            <p:layout fullPage="true">

                <p:layoutUnit position="north" size="200" resizable="false" closable="true" collapsible="true">
                    <!--Header!-->
                     <div>
                        <h:graphicImage url="images/banner.jpg" alt="Logo" style="vertical-align: top" width="100%"/> 
                    </div>
                </p:layoutUnit>
                
                <p:layoutUnit position="south" size="50" closable="true" collapsible="true">
                    
                </p:layoutUnit>

                <p:layoutUnit position="west" size="175" header="Left" collapsible="true">
                    <h:form>
                    <p:menu>
                        <p:submenu label="Resources">
                            <p:menuitem value="Demo" url="http://www.primefaces.org/showcase-labs/ui/home.jsf" />
                            <p:menuitem value="Documentation" url="http://www.primefaces.org/documentation.html" />
                            <p:menuitem value="Forum" url="http://forum.primefaces.org/" />
                            <p:menuitem value="Themes" url="http://www.primefaces.org/themes.html" />

                        </p:submenu>

                    </p:menu>
                        </h:form>
                </p:layoutUnit>

                <p:layoutUnit position="center">
                    <h:form id="forma">
                        <p:growl id="growl" showDetail="true" sticky="true"/>
                        <p:messages id="mensajes" showDetail="true"/>
                        <p:panel id="campos">
                            <p:panelGrid>
                                <p:row>
                                    <p:column>
                                        <h:outputText value="Cédula: "/>
                                    </p:column>
                                    <p:column>
                                        <p:inputText id="txtCedulaCliente" binding="#{clienteVista.txtCedulaCliente}"/>
                                    </p:column>
                                    <p:column>
                                        <h:outputText value="Tipo de documento "/>
                                    </p:column>
                                    <p:column>
                                        <p:selectOneMenu id="cmbTipoDoc" binding="#{clienteVista.cmbTipoDoc}">
                                            <f:selectItem itemLabel="Seleccione" itemValue=""/>
                                            <f:selectItems value="#{clienteVista.itemsDocumentos}"/>
                                        </p:selectOneMenu>
                                    </p:column>
                                    <p:column>
                                        <h:outputText value="Nombre: "/>
                                    </p:column>
                                    <p:column>
                                        <p:inputText id="txtNombreCliente" binding="#{clienteVista.txtNombreCliente}"/>
                                    </p:column>
                                </p:row>
                                <p:row>
                                    <p:column>
                                        <h:outputText value="Dirección: "/>
                                    </p:column>
                                    <p:column>
                                        <p:inputText id="txtDireccionCliente" binding="#{clienteVista.txtDireccionCliente}"/>
                                    </p:column>
                                    <p:column>
                                        <h:outputText value="Teléfono: "/>
                                    </p:column>
                                    <p:column>
                                        <p:inputText id="txtTelefonoCliente" binding="#{clienteVista.txtTelefonoCliente}"/>
                                    </p:column>
                                    <p:column>
                                        <h:outputText value="Email: "/>
                                    </p:column>
                                    <p:column>
                                        <p:inputText id="txtEmailCliente" binding="#{clienteVista.txtEmailCliente}"/>
                                    </p:column>
                                </p:row>
                            </p:panelGrid>
                            <p:panelGrid>
                                <p:row>
                                    <p:column>
                                        <p:commandButton id="btnRegistrar" value="Registrar" binding="#{clienteVista.btnRegistrar}" action="#{clienteVista.funcion_registrar}" update=":forma:campos, :forma:mensajes, forma:tabla"/>
                                    </p:column>
                                    <p:column>
                                        <p:commandButton id="btnModificar" disabled="true" value="Modificar" binding="#{clienteVista.btnModificar}" action="#{clienteVista.funcion_modificar}" update=":forma:campos, :forma:mensajes, :forma:tabla"/>
                                    </p:column>
                                    <p:column>
                                        <p:commandButton id="btnEliminar" disabled="true" value="Eliminar" binding="#{clienteVista.btnEliminar}" action="#{clienteVista.funcion_eliminar}" update=":forma:campos, :forma:mensajes, :forma:tabla">
                                            <p:confirm header="Confirmar" message="¿Estás seguro que deseas eliminar este cliente del sistema?" icon="ui-icon-alert" /> 
                                        </p:commandButton>
                                        <p:confirmDialog global="true" showEffect="fade" hideEffect="puff">
                                            <p:commandButton value="Si" type="button" styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
                                            <p:commandButton value="No" type="button" styleClass="ui-confirmdialog-no" icon="ui-icon-close" />
                                        </p:confirmDialog>
                                    </p:column>
                                    <p:column>
                                        <p:commandButton id="btnLimpiar" value="Limpiar" binding="#{clienteVista.btnLimpiar}" action="#{clienteVista.funcion_limpiar()}" update=":forma:campos, :forma:mensajes, :forma:tabla"/>
                                    </p:column>
                                </p:row>
                            </p:panelGrid>
                        </p:panel>
                        
                        <p:panel id="tabla">
                            <p:dataTable id="clientes" var="clientes" value="#{clienteVista.listaClientes}" rowKey="#{clientes.cliCedula}"
                                         selection="#{clienteVista.selectedClientes}" selectionMode="single" paginator="true" rows="10" paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                                         rowsPerPageTemplate="5,10,15"
                                         filteredValue="#{clienteVista.listaClientes}"
                                         emptyMessage="No se encontraron resultados"
                                         >
                                <p:ajax event="rowSelect" listener="#{clienteVista.funcion_seleccionar}" update=":forma:campos" />

                                <p:column headerText="Cédula">
                                    <h:outputText value="#{clientes.cliCedula}" />
                                </p:column>
                                
                                <p:column headerText="Tipo documento">
                                    <h:outputText value="#{clientes.tdocCodigo.tdocNombre}" />
                                </p:column>
                                
                                <p:column headerText="Nombre">
                                    <h:outputText value="#{clientes.cliNombre}" />
                                </p:column>

                                <p:column headerText="Dirección">
                                    <h:outputText value="#{clientes.cliDireccion}" />
                                </p:column>
                                
                                <p:column headerText="Teléfono">
                                    <h:outputText value="#{clientes.cliTelefono}" />
                                </p:column>

                                <p:column headerText="Email">
                                    <h:outputText value="#{clientes.cliMail}" />
                                </p:column>

                            </p:dataTable>
                        </p:panel>

                    </h:form>  
                </p:layoutUnit>

            </p:layout>

        </h:body>

    </f:view>
</html>

